home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / cstein.z / cstein
Text File  |  1996-03-14  |  5KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCSSSSTTTTEEEEIIIINNNN((((3333FFFF))))                                                          CCCCSSSSTTTTEEEEIIIINNNN((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CSTEIN - compute the eigenvectors of a real symmetric tridiagonal matrix
  10.      T corresponding to specified eigenvalues, using inverse iteration
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CSTEIN( N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK,
  14.                         IFAIL, INFO )
  15.  
  16.          INTEGER        INFO, LDZ, M, N
  17.  
  18.          INTEGER        IBLOCK( * ), IFAIL( * ), ISPLIT( * ), IWORK( * )
  19.  
  20.          REAL           D( * ), E( * ), W( * ), WORK( * )
  21.  
  22.          COMPLEX        Z( LDZ, * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      CSTEIN computes the eigenvectors of a real symmetric tridiagonal matrix T
  26.      corresponding to specified eigenvalues, using inverse iteration.
  27.  
  28.      The maximum number of iterations allowed for each eigenvector is
  29.      specified by an internal parameter MAXITS (currently set to 5).
  30.  
  31.      Although the eigenvectors are real, they are stored in a complex array,
  32.      which may be passed to CUNMTR or CUPMTR for back
  33.      transformation to the eigenvectors of a complex Hermitian matrix which
  34.      was reduced to tridiagonal form.
  35.  
  36.  
  37.  
  38. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  39.      N       (input) INTEGER
  40.              The order of the matrix.  N >= 0.
  41.  
  42.      D       (input) REAL array, dimension (N)
  43.              The n diagonal elements of the tridiagonal matrix T.
  44.  
  45.      E       (input) REAL array, dimension (N)
  46.              The (n-1) subdiagonal elements of the tridiagonal matrix T,
  47.              stored in elements 1 to N-1; E(N) need not be set.
  48.  
  49.      M       (input) INTEGER
  50.              The number of eigenvectors to be found.  0 <= M <= N.
  51.  
  52.      W       (input) REAL array, dimension (N)
  53.              The first M elements of W contain the eigenvalues for which
  54.              eigenvectors are to be computed.  The eigenvalues should be
  55.              grouped by split-off block and ordered from smallest to largest
  56.              within the block.  ( The output array W from SSTEBZ with ORDER =
  57.              'B' is expected here. )
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCSSSSTTTTEEEEIIIINNNN((((3333FFFF))))                                                          CCCCSSSSTTTTEEEEIIIINNNN((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      IBLOCK  (input) INTEGER array, dimension (N)
  75.              The submatrix indices associated with the corresponding
  76.              eigenvalues in W; IBLOCK(i)=1 if eigenvalue W(i) belongs to the
  77.              first submatrix from the top, =2 if W(i) belongs to the second
  78.              submatrix, etc.  ( The output array IBLOCK from SSTEBZ is
  79.              expected here. )
  80.  
  81.      ISPLIT  (input) INTEGER array, dimension (N)
  82.              The splitting points, at which T breaks up into submatrices.  The
  83.              first submatrix consists of rows/columns 1 to ISPLIT( 1 ), the
  84.              second of rows/columns ISPLIT( 1 )+1 through ISPLIT( 2 ), etc.  (
  85.              The output array ISPLIT from SSTEBZ is expected here. )
  86.  
  87.      Z       (output) COMPLEX array, dimension (LDZ, M)
  88.              The computed eigenvectors.  The eigenvector associated with the
  89.              eigenvalue W(i) is stored in the i-th column of Z.  Any vector
  90.              which fails to converge is set to its current iterate after
  91.              MAXITS iterations.  The imaginary parts of the eigenvectors are
  92.              set to zero.
  93.  
  94.      LDZ     (input) INTEGER
  95.              The leading dimension of the array Z.  LDZ >= max(1,N).
  96.  
  97.      WORK    (workspace) REAL array, dimension (5*N)
  98.  
  99.      IWORK   (workspace) INTEGER array, dimension (N)
  100.  
  101.      IFAIL   (output) INTEGER array, dimension (M)
  102.              On normal exit, all elements of IFAIL are zero.  If one or more
  103.              eigenvectors fail to converge after MAXITS iterations, then their
  104.              indices are stored in array IFAIL.
  105.  
  106.      INFO    (output) INTEGER
  107.              = 0: successful exit
  108.              < 0: if INFO = -i, the i-th argument had an illegal value
  109.              > 0: if INFO = i, then i eigenvectors failed to converge in
  110.              MAXITS iterations.  Their indices are stored in array IFAIL.
  111.  
  112. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  113.      MAXITS  INTEGER, default = 5
  114.              The maximum number of iterations performed.
  115.  
  116.      EXTRA   INTEGER, default = 2
  117.              The number of iterations performed after norm growth criterion is
  118.              satisfied, should be at least 1.
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.